Debugging হল একটি প্রক্রিয়া যা কোডের ত্রুটি সনাক্ত এবং সমাধান করতে সহায়ক। .NET MAUI অ্যাপ্লিকেশন ডেভেলপ করার সময়, Debugging Tools এবং Breakpoints ব্যবহার করে কোডের সমস্যা চিহ্নিত করা যায় এবং সেগুলির সমাধান করা সহজ হয়। Visual Studio তে শক্তিশালী debugging টুলস আছে যা ডেভেলপারদের কোডের মধ্যে প্রবাহ ট্র্যাক করতে এবং বাগ সনাক্ত করতে সাহায্য করে।
এখানে .NET MAUI অ্যাপ্লিকেশনে Debugging Tools এবং Breakpoints ব্যবহারের জন্য প্রয়োজনীয় পদক্ষেপ এবং টিপস দেওয়া হল।
1. Debugging Tools in Visual Studio
Visual Studio তে বিভিন্ন debugging টুলস রয়েছে, যা ডেভেলপারদের কোড সমস্যা শনাক্ত করতে সাহায্য করে। এর মধ্যে প্রধান টুলস হল:
- Immediate Window: কোড রান করার সময় অবিলম্বে এক্সপ্রেশন বা ভেরিয়েবল চেক করা যায়।
- Watch Window: নির্দিষ্ট ভেরিয়েবলের মান দেখতে এবং ট্র্যাক করতে ব্যবহৃত হয়।
- Call Stack: ফাংশন কলের এক্সিকিউশন ট্র্যাক করে, যেখানে ফাংশনটি কল হয়েছে এবং বর্তমান এক্সিকিউশন কোথায় রয়েছে তা দেখায়।
- Output Window: রানটাইম এরর এবং লোগিং তথ্য প্রদর্শন করে।
- Exception Settings: এক্সেপশন ট্র্যাপিং সক্ষম করে, যা সুনির্দিষ্ট এক্সেপশন বা ত্রুটি সনাক্ত করতে সাহায্য করে।
2. Breakpoints ব্যবহার করা
Breakpoints হল একটি ডিবাগিং টুল যা কোডে নির্দিষ্ট স্থানে থামানোর জন্য ব্যবহৃত হয়। যখন কোড এক্সিকিউট হবে এবং ব্রেকপয়েন্টে পৌঁছাবে, তখন এটি থামবে, এবং আপনি প্রোগ্রামের বর্তমান অবস্থা পরীক্ষা করতে পারবেন।
Breakpoints Set করা:
- Breakpoints সেট করা:
- Visual Studio তে, কোডের যে লাইনে আপনি থামাতে চান সেখানে সিম্পলি লাইনের পাশের মার্জিনে ক্লিক করুন। এটি একটি লাল বিন্দু (ব্রেকপয়েন্ট) তৈরি করবে।
- ব্রেকপয়েন্ট একবার সেট করলে, যখন কোড সেই লাইনে পৌঁছাবে তখন এক্সিকিউশন থামবে।
Conditional Breakpoints:
- আপনি একটি ব্রেকপয়েন্টে শর্তও যোগ করতে পারেন। উদাহরণস্বরূপ, যদি কোনো নির্দিষ্ট ভেরিয়েবলের মান নির্দিষ্ট থাকে, তবে একমাত্র তখন থামবে। এর জন্য:
- ব্রেকপয়েন্টে রাইট ক্লিক করুন এবং Conditions নির্বাচন করুন।
- এখানে আপনি একটি শর্ত (যেমন ভেরিয়েবল মান) নির্ধারণ করতে পারেন, এবং সেই শর্ত পূরণ হলে ব্রেকপয়েন্ট থামবে।
উদাহরণ:
x == 10- এটি শুধুমাত্র তখন থামবে যখনxএর মান ১০ হবে।- আপনি একটি ব্রেকপয়েন্টে শর্তও যোগ করতে পারেন। উদাহরণস্বরূপ, যদি কোনো নির্দিষ্ট ভেরিয়েবলের মান নির্দিষ্ট থাকে, তবে একমাত্র তখন থামবে। এর জন্য:
- Hit Count Breakpoints:
- আপনি ব্রেকপয়েন্টে একটি নির্দিষ্ট সংখ্যা নির্ধারণ করতে পারেন, যেমন "১০ বার কোড এই লাইনে পৌঁছালে থামো"। এটি সহায়ক যখন আপনি বারবার এক্সিকিউশন দেখতে চান।
- ব্রেকপয়েন্টে রাইট ক্লিক করুন এবং Hit Count নির্বাচন করুন।
- আপনি ব্রেকপয়েন্টে একটি নির্দিষ্ট সংখ্যা নির্ধারণ করতে পারেন, যেমন "১০ বার কোড এই লাইনে পৌঁছালে থামো"। এটি সহায়ক যখন আপনি বারবার এক্সিকিউশন দেখতে চান।
3. Debugging with Breakpoints in .NET MAUI
Example: Setting Breakpoints in .NET MAUI
ধরা যাক আপনি একটি Button ক্লিক ইভেন্টে ব্রেকপয়েন্ট সেট করতে চান।
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
Button.Clicked += OnButtonClicked;
}
// Button clicked event
private void OnButtonClicked(object sender, EventArgs e)
{
// Set a breakpoint on this line
var result = DoSomeCalculation(5, 10);
DisplayAlert("Result", result.ToString(), "OK");
}
private int DoSomeCalculation(int a, int b)
{
return a + b; // Set breakpoint here to debug calculation
}
}
- Breakpoints Set করা:
- আপনি
DoSomeCalculationমেথডের মধ্যে ব্রেকপয়েন্ট সেট করতে পারেন যাতে কোডের মধ্যে মান যাচাই করতে পারেন। - OnButtonClicked ইভেন্টের মধ্যে একটি ব্রেকপয়েন্ট সেট করতে পারেন, এবং ফাংশন কলের আগে থামিয়ে দেখতে পারেন।
- আপনি
- Code Execution Stopped:
- যখন আপনি অ্যাপ্লিকেশন চালাবেন এবং Button ক্লিক করবেন, কোড সেই লাইনে থামবে যেখানে ব্রেকপয়েন্ট সেট করা হয়েছে।
- আপনি ভেরিয়েবলগুলো পরীক্ষা করতে পারবেন, যেমন
aএবংbএর মান।
4. Step Through Code
Step Through Code একটি ডিবাগিং টুল যা আপনাকে কোডের এক লাইনের পর এক লাইন পরীক্ষা করতে সাহায্য করে।
- Step Into: এক্সিকিউশনের প্রতিটি লাইনে প্রবেশ করুন, এবং যদি মেথড কল হয় তবে সেই মেথডেও প্রবেশ করুন।
- Step Over: কোডের লাইনে প্রবেশ না করে সোজা মেথডের পরবর্তী লাইনে চলে যান।
- Step Out: বর্তমান ফাংশন থেকে বেরিয়ে পরবর্তী কোড লাইনে চলে যান।
Using Step Through in .NET MAUI:
- Step Into: যদি
OnButtonClickedমেথডের মধ্যে কোনো মেথড কল থাকে (যেমনDoSomeCalculation), আপনি Step Into ব্যবহার করতে পারেন যাতে সেই মেথডের ভিতরে কোড এক্সিকিউশন দেখেন। - Step Over: যদি আপনি ফাংশন কলের ভিতরে যেতে না চান এবং শুধু পরবর্তী লাইনে যেতে চান, তাহলে Step Over ব্যবহার করতে পারেন।
5. Debugging with Visual Studio Tools
- Watch Window:
- আপনি যে ভেরিয়েবলগুলি পর্যবেক্ষণ করতে চান তা Watch Window তে যোগ করতে পারেন, যাতে আপনি স্ক্রল বা স্টেপ-থ্রু করার সময় তার মান দেখতে পান।
Immediate Window:
- কোড রান করার সময় আপনি Immediate Window তে ভেরিয়েবলগুলোর মান চেক করতে পারেন বা মেথড কল করতে পারেন।
উদাহরণ:
? myVarদিয়ে ভেরিয়েবল এর মান চেক করুন।
6. Exception Handling and Debugging
Exception Settings ব্যবহার করে আপনি কোনো নির্দিষ্ট এক্সেপশন টাইপ (যেমন NullReferenceException) থামিয়ে দেই, যাতে এক্সেপশন ট্র্যাপিং করা যায়।
- Break when an exception is thrown: আপনি নির্দিষ্ট এক্সেপশন টাইপের জন্য ডিবাগিং ব্রেকপয়েন্ট সেট করতে পারেন। এতে সেই এক্সেপশনটি ঘটলেই কোড থামবে।
Summary:
- Breakpoints ব্যবহার করে কোডের নির্দিষ্ট স্থানে এক্সিকিউশন থামানো যায় এবং আপনি তার পরে ভেরিয়েবলগুলো এবং প্রোগ্রামের অবস্থা চেক করতে পারেন।
- Debugging Tools: Visual Studio তে এমন অনেক টুল আছে যা আপনাকে কোডের প্রবাহ এবং ত্রুটি শনাক্ত করতে সাহায্য করে, যেমন Immediate Window, Watch Window, Call Stack, Output Window, এবং Exception Settings।
- Step Through Code: কোডের প্রতি লাইন পর্যবেক্ষণ করার জন্য Step Into, Step Over, এবং Step Out ব্যবহার করুন।
- Exception Handling: ডিবাগিং করার সময় এক্সেপশন হ্যান্ডলিং সুবিধা গ্রহণ করুন যাতে এক্সেপশনটি ঘটলে কোড থেমে যায় এবং আপনি সঠিক অবস্থানে পৌঁছতে পারেন।
এগুলি .NET MAUI অ্যাপ্লিকেশনে কার্যকরভাবে ডিবাগিং করার জন্য সহায়ক টুলস এবং কৌশল।
Read more